package com.lanyun.aicorrectassistant.basic.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

/**
 * AI批改结果表(GradingResults)实体类
 *
 * @author makejava
 * @since 2025-05-12 01:53:59
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GradingResults implements Serializable {
    private static final long serialVersionUID = -76532401072223529L;
    
    /**
     * 批改结果ID
     */
    private Long id;
    
    /**
     * 关联学生作业ID
     */
    private Long assignmentId;
    
    /**
     * AI原始响应内容（备份用）
     */
    private String rawResponse;
    
    /**
     * 总分（0-100）
     */
    private Integer score;
    
    /**
     * 正确率百分比
     */
    private BigDecimal accuracy;
    
    /**
     * 知识薄弱点总结（Markdown格式）
     */
    private String summary;
    
    /**
     * 错题解析（JSON数组）
     */
    private Object errorAnalysis;
    
    /**
     * AI思考过程记录ID
     */
    private Long thoughtProcessId;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 创建人
     */
    private String createBy;
    
    /**
     * 修改人
     */
    private String updateBy;
    
    /**
     * 修改时间
     */
    private Date updateTime;
    
    /**
     * 是否删除 1-未删除/0-已删除
     */
    private Integer isDeleted;

    public void appendRawResponse(String contentChunk) {
        this.rawResponse += contentChunk;
    }
}
